Skip to content

Software

4.1 Types of software and interrupts

Candidates should be able to:

  1. Describe the difference between system software and application software and provide examples of each

Note and guidance

  • System software provides the services that the computer requires, including operating system and utility software
  • Application software provides the services that the user requires
  1. Describe the role and basic functions of an operating system

Note and guidance

  • Including:
    • managing files
    • handling interrupts
    • providing an interface
    • managing peripherals and drivers
    • managing memory
    • managing multitasking
    • providing a platform for running applications
    • providing system security
    • managing user accounts
  1. Understand how hardware, firmware and an operating system are required to run applications software

Note and guidance

  • Applications are run on the operating system
  • The operating system is run on the firmware
  • The bootloader (firmware) is run on the hardware
  1. Describe the role and operation of interrupts

Note and guidance

  • Including:
    • how an interrupt is generated
    • how it is handled using an interrupt service routine
    • what happens as a result of the interrupts
  • Software interrupts include division by zero and two processes trying to access the same memory location
  • Hardware interrupts include pressing a key on the keyboard and moving the mouse

4.2 Types of programming language, translators and integrated development environments (IDEs)

Candidates should be able to:

  1. Explain what is meant by a high-level language and a low-level language, including the advantages and disadvantages of each

Note and guidance

  • Advantages and disadvantages include:
    • ease of reading and writing code, e.g. low-level is hard to read
    • ease of debugging code
    • machine independence
    • direct manipulation of hardware
  1. Understand that assembly language is a form of low-level language that uses mnemonics, and that an assembler is needed to translate an assembly language program into machine code

  2. Describe the operation of a compiler and an interpreter, including how high-level language is translated by each and how errors are reported

Note and guidance

  • A compiler translates the whole code at once before executing it, producing an executable file
  • An interpreter translates and executes the code line-by-line
  • A compiler provides an error report for the whole code if errors are detected
  • An interpreter stops execution when an error is found
  1. Explain the advantages and disadvantages of a compiler and an interpreter

Note and guidance

  • To include an understanding that an interpreter is mostly used when developing a program and a compiler is used to translate the final program
  1. Explain the role of an IDE in writing program code and the common functions IDEs provide

Note and guidance

  • Including:
    • code editors
    • run-time environment
    • translators
    • error diagnostics
    • auto-completion
    • auto-correction
    • prettyprint